package com.cos.lession48.dao;

import com.cos.lession48.entity.Emp;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author: COS
 * @time: 2022/3/1 9:35
 * @description:
 */
public interface EmpDao {
    List<Emp> getAll();

    List<Emp> getEmpByOrder();

    Emp getEmpByEno(@Param("eno") int eno);

    Emp getEmpBySexAndEname(@Param("esex") String esex, @Param("ename") String ename);
    /**
     *
     * @author: COS
     * @return:
     * @time: 2022/3/1 14:00
     * @description: 
     */    
    List<Emp> getEmpByOrderKey(@Param("order") String order);

    Emp getEmpByName(@Param("ename") String ename);
    /**
     *
     * @author: COS
     * @return:
     * @time: 2022/3/1 14:08
     * @description: 当参数是对象的不需要@param
     */
    Emp getEmpByNameByObject(Emp emp);
    /**
     *
     * @author: COS
     * @return:
     * @time: 2022/3/1 14:14
     * @description: 工资的区间的员工数据
     *  工资大于等于20000 并且小于 30000
     */
    List<Emp> getEmpListBySalary(Map<String,Object> maps);
    /**
     *
     * @author: COS
     * @return:
     * @time: 2022/3/1 14:25
     * @description: 使用员工名进行模糊查询
     */
    List<Emp> getEmpLikeName(@Param("ename") String ename);

    int addemp(Emp emp);

    int updateEmp(Emp emp);

    int del(@Param("eno") int eno);
    /**
     *
     * @author: COS
     * @return:
     * @time: 2022/3/1 17:20
     * @description:  使用员工名获取员工数据
     */
    Emp findEmpByEname(@Param("ename") String ename);
}
